package com.ming.interview;

import java.util.Scanner;

/**
 * @Description 题目：输入两个正整数m和n，求其最大公约数和最小公倍数。
 *
 * 程序分析：利用辗除法。
 *
 * *这里有一个知识点要记住的，最大公约数和最小公倍数的求法
 *
 * *1、先求最大公约数bigDivisor
 *
 * *2、就可以很方便获得最小公倍数multiple=input1*input2/bigDIvisor
 *
 * *这里最重要的就是求最大公约数：求法如下
 *
 * *(1)用大的数对小的数求余
 *
 * *(2)把小的数赋值给大的数，把求余获得的结果赋值给小的数，
 *
 * *(3)循环上一步的操作，直到求余的结果为零
 *
 * *(4)上一步被求余的数就是我们要的最大公约数，不信的话，你可以动手试试
 * @Author ye.ming
 * @Date Created in 2019/8/26
 */
public class Main5 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();
        int bigDiliver = m1(m, n);
        System.out.println(String.format("最大公约数为：%d", bigDiliver));
        System.out.println(String.format("最小公倍数为：%d", m * n / bigDiliver));
        sc.close();
    }


    private static int m1(int m, int n) {

        int temp;
        if (m < n) {
            temp = m;
            m = n;
            n = temp;
        }

        while ((temp = m % n) != 0) {
            m = n;
            n = temp;
        }
        return n;
    }


}
